home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / PCSSP.LZH / PC-SSP.ZIP / STATTMSR.ZIP / CROSS.FOR < prev    next >
Text File  |  1985-11-29  |  2KB  |  72 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE CROSS
  5. C
  6. C        PURPOSE
  7. C           TO FIND THE CROSSCOVARIANCES OF SERIES A WITH SERIES B
  8. C           (WHICH LEADS AND LAGS A).
  9. C
  10. C        USAGE
  11. C           CALL CROSS (A,B,N,L,R,S)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           A    - INPUT VECTOR OF LENGTH N CONTAINING FIRST TIME
  15. C                  SERIES.
  16. C           B    - INPUT VECTOR OF LENGTH N CONTAINING SECOND TIME
  17. C                  SERIES.
  18. C           N    - LENGTH OF SERIES A AND B.
  19. C           L    - CROSSCOVARIANCE IS CALCULATED FOR LAGS AND LEADS OF
  20. C                  0, 1, 2,..., L-1.
  21. C           R    - OUTPUT VECTOR OF LENGTH L CONTAINING CROSSCOVARI-
  22. C                  ANCES OF A WITH B, WHERE B LAGS A.
  23. C           S    - OUTPUT VECTOR OF LENGTH L CONTAINING CROSSCOVARI-
  24. C                  ANCES OF A WITH B, WHERE B LEADS A.
  25. C
  26. C        REMARKS
  27. C           N MUST BE GREATER THAN L.  IF NOT, R(1) AND S(1) ARE SET TO
  28. C           ZERO AND RETURN IS MADE TO THE CALLING PROGRAM.
  29. C
  30. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  31. C           NONE
  32. C
  33. C        METHOD
  34. C           DESCRIBED IN R.B. BLACKMAN AND J.W. TUKEY, 'THE MEASURMENT
  35. C        OF POWER SPECTRA', DOVER PUBLICATIONS INC., NEW YORK, 1959.
  36. C
  37. C     ..................................................................
  38. C
  39.       SUBROUTINE CROSS (A,B,N,L,R,S)
  40.       DIMENSION A(1),B(1),R(1),S(1)
  41. C
  42. C     CALCULATE AVERAGES OF SERIES A AND B
  43. C
  44.       FN=N
  45.       AVERA=0.0
  46.       AVERB=0.0
  47.       IF(N-L)50,50,100
  48.    50 R(1)=0.0
  49.       S(1)=0.0
  50.       RETURN
  51.   100 DO 110 I=1,N
  52.       AVERA=AVERA+A(I)
  53.   110 AVERB=AVERB+B(I)
  54.       AVERA=AVERA/FN
  55.       AVERB=AVERB/FN
  56. C
  57. C     CALCULATE CROSSCOVARIANCES OF SERIES A AND B
  58. C
  59.       DO 130 J=1,L
  60.       NJ=N-J+1
  61.       SUMR=0.0
  62.       SUMS=0.0
  63.       DO 120 I=1,NJ
  64.       IJ=I+J-1
  65.       SUMR=SUMR+(A(I)-AVERA)*(B(IJ)-AVERB)
  66.   120 SUMS=SUMS+(A(IJ)-AVERA)*(B(I)-AVERB)
  67.       FNJ=NJ
  68.       R(J)=SUMR/FNJ
  69.   130 S(J)=SUMS/FNJ
  70.       RETURN
  71.       END
  72.